package com.tal.pad.eye_protection;

/**
 * @anthor Mr.Zan
 * @email  644962006@qq.com
 * @time 2025/3/27 16:22
 * @describe
 */
public class PoseDetPipeline {
    static {
        System.loadLibrary("poseDetPipeline");
    }

    /***
     * 初始化
     * @param poseKpPtr 关键点检测模型指针
     * @param poseClsPtr 行为检测模型指针
     * @param interval 检测间隔
     * @return 10000000: 成功 0: 失败
     */
    public static native int init(long poseKpPtr, long poseClsPtr, int interval);

    /**
     * process
     * @param data 图片数据
     * @param w 宽
     * @param h 高
     * @param degree 旋转角度
     * @param flip 翻转
     * @param mode 数据格式 NV21/YUV420  0:YUV420 1:NV21
     * @param traceID 跟踪id
    */
    public static native int process(byte[] data, int w, int h, int degree, int flip, int mode, String traceID);

    /**
     * release 释放资源
     */ 
    public static native int release();

    /**
     * resetResult 重置结果
     */
    public static native int resetResult();

    /***
     * 获取结果
     */
    public static native ResultInfo getResult();

    /**
     * 检测当前是否有人
     * @return 0无人 1有人
     */
    public static native int getNoPersonStatus();
    /*
     * processTest 测试接口
     * @param imagePath 图片路径
     * @param traceID 跟踪id
     */
    public static native int processTest(String imagePath, String traceID);
}
